﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using HerGoS.Administration.Engine;
using Newtonsoft.Json;
using System.Web.Script.Services;
using HerGoS.Administration.Entities;
using HerGoS.Viaticos.Engine;
using HerGoS.Viaticos.Entities;


namespace HerGoS.WebUI.Viaticos.Tramos
{
    public partial class Tramos : System.Web.UI.Page
    {

        [WebMethod]
        public static string  GetCiudades()
        {
            List<Ciudad> Lista = new List<Ciudad>();
          
            Lista = GestorCiudad.Consultar();

            Lista.Insert(0, new Ciudad { OID = 0, Nombre = "--Seleccione-- " });
           
            
            var list = Lista.Select(x => new
                                        {
                                            id = x.OID,
                                            name = x.Nombre
                                        });
             
               

            return JsonConvert.SerializeObject(list);

                       

        }


        [WebMethod]
        public static string GetPorcentajeViatico()
        {

            List<PorcentajeViatico> Lista = GestorViaticos.ConsultarPorcentajeViatico();

            Lista.Insert(0, new PorcentajeViatico { OID = 0, Valor = 0 });


            var list = Lista.Select(x => new
            {
                id = x.Valor,
                name = x.Valor
            });
            

            return JsonConvert.SerializeObject(list);
            
        }


        [WebMethod]
        public static string GetDistancia()
        {

            List<HerGoS.Viaticos.Entities.Distancia> Lista = GestorDistancia.Consultar();

            Lista.Insert(0, new HerGoS.Viaticos.Entities.Distancia { OID = 0, Descripcion = "--Seleccione-- " });


            var list = Lista.Select(x => new
            {
                id = x.OID,
                name = x.Descripcion
            });


            return JsonConvert.SerializeObject(list);

        }

        

        [WebMethod]
        public static string GetTransporte()
        {
            List<Transporte> ListaTransporte = new List<Transporte>();
            ListaTransporte = GestorTransporte.Consultar();
            HttpContext.Current.Session["TipoTransporte"] = ListaTransporte;
           
            ListaTransporte.Insert(0, new HerGoS.Viaticos.Entities.Transporte { OID = 0, Descripcion = "--Seleccione-- " });


            var list = ListaTransporte.Select(x => new
            {
                id = x.OID,
                name = x.Descripcion
            });


            return JsonConvert.SerializeObject(list);

        }


        [WebMethod]
        public static bool HabilitarKmRecorridos(int idtransporte)
        {
            List<Transporte> listaTransporte = HttpContext.Current.Session["TipoTransporte"] as List<Transporte>;

            var result = listaTransporte.Find(y => y.OID == idtransporte);

            return result.CALCULOKMS;

        }



        
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}